From 99a8295b9686e4addbc1469f8eea0014238e9e02 Mon Sep 17 00:00:00 2001 From: Jake Wires Date: Fri, 23 Feb 2007 09:40:32 -0800 Subject: [PATCH] [TAPDISK] handle error case when opening VDIs --- tools/blktap/drivers/tapdisk.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/blktap/drivers/tapdisk.c b/tools/blktap/drivers/tapdisk.c index 43a037a053..965dbd9b7d 100644 --- a/tools/blktap/drivers/tapdisk.c +++ b/tools/blktap/drivers/tapdisk.c @@ -306,8 +306,11 @@ static int open_disk(struct td_state *s, struct tap_disk *drv, char *path) return -ENOMEM; err = drv->td_open(d, path, 0); - if (err) - goto fail; + if (err) { + free_driver(d); + s->disks = NULL; + return -ENOMEM; + } /* load backing files as necessary */ while ((err = d->drv->td_get_parent_id(d, &id)) == 0) { -- 2.30.2